﻿namespace Sidvall.WorkItemManager.Data.ConfigModel
{
    public sealed partial class GenericEntityFacade : global::Sidvall.WorkItemManager.Data.ConfigModel.EntityFacadeBase
    {
        #region Public Members

        #region UserConfigurationManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.WorkItemManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IUserConfiguration>> _UserConfigurationManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.WorkItemManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IUserConfiguration>> UserConfigurationManager
        {
            get
            {
                return _UserConfigurationManager;
            }
            private set
            {
                _UserConfigurationManager = value;
            }
        }

        #endregion
        #region ServerConnectionManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.ServerConnectionManager<global::Sidvall.WorkItemManager.Data.IServerConnection, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IServerConnection>> _ServerConnectionManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.ServerConnectionManager<global::Sidvall.WorkItemManager.Data.IServerConnection, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IServerConnection>> ServerConnectionManager
        {
            get
            {
                return _ServerConnectionManager;
            }
            private set
            {
                _ServerConnectionManager = value;
            }
        }

        #endregion
        #region ScheduleManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.ScheduleManager<global::Sidvall.WorkItemManager.Data.ISchedule, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.ISchedule>> _ScheduleManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.ScheduleManager<global::Sidvall.WorkItemManager.Data.ISchedule, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.ISchedule>> ScheduleManager
        {
            get
            {
                return _ScheduleManager;
            }
            private set
            {
                _ScheduleManager = value;
            }
        }

        #endregion
        #region IntervalRetryPolicyManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.IntervalRetryPolicyManager<global::Sidvall.WorkItemManager.Data.IIntervalRetryPolicy, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IIntervalRetryPolicy>> _IntervalRetryPolicyManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.IntervalRetryPolicyManager<global::Sidvall.WorkItemManager.Data.IIntervalRetryPolicy, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IIntervalRetryPolicy>> IntervalRetryPolicyManager
        {
            get
            {
                return _IntervalRetryPolicyManager;
            }
            private set
            {
                _IntervalRetryPolicyManager = value;
            }
        }

        #endregion
        #region MonitoredWorkItemManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitoredWorkItemManager<global::Sidvall.WorkItemManager.Data.IMonitoredWorkItem, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitoredWorkItem>> _MonitoredWorkItemManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitoredWorkItemManager<global::Sidvall.WorkItemManager.Data.IMonitoredWorkItem, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitoredWorkItem>> MonitoredWorkItemManager
        {
            get
            {
                return _MonitoredWorkItemManager;
            }
            private set
            {
                _MonitoredWorkItemManager = value;
            }
        }

        #endregion
        #region MonitorContextManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitorContextManager<global::Sidvall.WorkItemManager.Data.IMonitorContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitorContext>> _MonitorContextManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitorContextManager<global::Sidvall.WorkItemManager.Data.IMonitorContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitorContext>> MonitorContextManager
        {
            get
            {
                return _MonitorContextManager;
            }
            private set
            {
                _MonitorContextManager = value;
            }
        }

        #endregion
        #region WorkItemAlarmManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WorkItemAlarmManager<global::Sidvall.WorkItemManager.Data.IWorkItemAlarm, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWorkItemAlarm>> _WorkItemAlarmManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WorkItemAlarmManager<global::Sidvall.WorkItemManager.Data.IWorkItemAlarm, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWorkItemAlarm>> WorkItemAlarmManager
        {
            get
            {
                return _WorkItemAlarmManager;
            }
            private set
            {
                _WorkItemAlarmManager = value;
            }
        }

        #endregion
        #region MonitorExecutionContextManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitorExecutionContextManager<global::Sidvall.WorkItemManager.Data.IMonitorExecutionContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitorExecutionContext>> _MonitorExecutionContextManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitorExecutionContextManager<global::Sidvall.WorkItemManager.Data.IMonitorExecutionContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitorExecutionContext>> MonitorExecutionContextManager
        {
            get
            {
                return _MonitorExecutionContextManager;
            }
            private set
            {
                _MonitorExecutionContextManager = value;
            }
        }

        #endregion
        #region IdentityProviderManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.IdentityProviderManager<global::Sidvall.WorkItemManager.Data.IIdentityProvider, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IIdentityProvider>> _IdentityProviderManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.IdentityProviderManager<global::Sidvall.WorkItemManager.Data.IIdentityProvider, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IIdentityProvider>> IdentityProviderManager
        {
            get
            {
                return _IdentityProviderManager;
            }
            private set
            {
                _IdentityProviderManager = value;
            }
        }

        #endregion
        #region WebExecutionContextManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebExecutionContextManager<global::Sidvall.WorkItemManager.Data.IWebExecutionContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebExecutionContext>> _WebExecutionContextManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebExecutionContextManager<global::Sidvall.WorkItemManager.Data.IWebExecutionContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebExecutionContext>> WebExecutionContextManager
        {
            get
            {
                return _WebExecutionContextManager;
            }
            private set
            {
                _WebExecutionContextManager = value;
            }
        }

        #endregion
        #region WebContextManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebContextManager<global::Sidvall.WorkItemManager.Data.IWebContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebContext>> _WebContextManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebContextManager<global::Sidvall.WorkItemManager.Data.IWebContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebContext>> WebContextManager
        {
            get
            {
                return _WebContextManager;
            }
            private set
            {
                _WebContextManager = value;
            }
        }

        #endregion
        #region WebTargetManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebTargetManager<global::Sidvall.WorkItemManager.Data.IWebTarget, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebTarget>> _WebTargetManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebTargetManager<global::Sidvall.WorkItemManager.Data.IWebTarget, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebTarget>> WebTargetManager
        {
            get
            {
                return _WebTargetManager;
            }
            private set
            {
                _WebTargetManager = value;
            }
        }

        #endregion
        #region WebResultManager

        private global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebResultManager<global::Sidvall.WorkItemManager.Data.IWebResult, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebResult>> _WebResultManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebResultManager<global::Sidvall.WorkItemManager.Data.IWebResult, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebResult>> WebResultManager
        {
            get
            {
                return _WebResultManager;
            }
            private set
            {
                _WebResultManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Helper Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        private void Init()
        {
            this.UserConfigurationManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.WorkItemManager.Data.IUserConfiguration, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IUserConfiguration>>(this);
            this.ServerConnectionManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.ServerConnectionManager<global::Sidvall.WorkItemManager.Data.IServerConnection, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IServerConnection>>(this);
            this.ScheduleManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.ScheduleManager<global::Sidvall.WorkItemManager.Data.ISchedule, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.ISchedule>>(this);
            this.IntervalRetryPolicyManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.IntervalRetryPolicyManager<global::Sidvall.WorkItemManager.Data.IIntervalRetryPolicy, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IIntervalRetryPolicy>>(this);
            this.MonitoredWorkItemManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitoredWorkItemManager<global::Sidvall.WorkItemManager.Data.IMonitoredWorkItem, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitoredWorkItem>>(this);
            this.MonitorContextManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitorContextManager<global::Sidvall.WorkItemManager.Data.IMonitorContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitorContext>>(this);
            this.WorkItemAlarmManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WorkItemAlarmManager<global::Sidvall.WorkItemManager.Data.IWorkItemAlarm, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWorkItemAlarm>>(this);
            this.MonitorExecutionContextManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.MonitorExecutionContextManager<global::Sidvall.WorkItemManager.Data.IMonitorExecutionContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IMonitorExecutionContext>>(this);
            this.IdentityProviderManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.IdentityProviderManager<global::Sidvall.WorkItemManager.Data.IIdentityProvider, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IIdentityProvider>>(this);
            this.WebExecutionContextManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebExecutionContextManager<global::Sidvall.WorkItemManager.Data.IWebExecutionContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebExecutionContext>>(this);
            this.WebContextManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebContextManager<global::Sidvall.WorkItemManager.Data.IWebContext, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebContext>>(this);
            this.WebTargetManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebTargetManager<global::Sidvall.WorkItemManager.Data.IWebTarget, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebTarget>>(this);
            this.WebResultManager = new global::Sidvall.WorkItemManager.Data.ConfigModel.EntityManagers.WebResultManager<global::Sidvall.WorkItemManager.Data.IWebResult, Sidvall.Data.IDataRowProvider<global::Sidvall.WorkItemManager.Data.IWebResult>>(this);
        }

        #endregion
        #region Constructors

        public GenericEntityFacade(global::Sidvall.Data.IResourceFactory resourceFactory)
            : base(resourceFactory)
        {
            Init();
        }
        public GenericEntityFacade(global::Sidvall.WorkItemManager.Data.ConfigModel.IEntityFacadeManager entityFacadeManager)
            : base(entityFacadeManager)
        {
            Init();
        }

        #endregion
    }
}